library(stringr)
genes.m$treatment <- as.character(genes.m$treatment)
exp.trts <- str_split(genes.m$treatment, "\\.")
genes.m$rep <- unlist(exp.trts)[seq(2, length(exp.trts)*2, 2)]
exp.trts <- unlist(exp.trts)[seq(1, length(exp.trts)*2, 2)]
exp.trts <- str_split(exp.trts, "-")
genes.m$geno <- unlist(exp.trts)[seq(1, length(exp.trts)*2, 2)]
genes.m$time <- unlist(exp.trts)[seq(2, length(exp.trts)*2, 2)]
genes.m$genotype <- str_sub(genes.m$geno, 1, 1)
genes.m$trt <- str_sub(genes.m$geno, 2, 2)
genes.m$rep <- extract_numeric(genes.m$rep)
head(genes.m)
#> Source: local data frame [6 x 8]
#>
#> id treatment expr rep geno time genotype trt
#> (chr) (chr) (dbl) (dbl) (chr) (chr) (chr) (chr)
#> 1 Gene 1 WI-6.R1 2.1824242 1 WI 6 W I
#> 2 Gene 2 WI-6.R1 1.4642236 1 WI 6 W I
#> 3 Gene 3 WI-6.R1 2.0317925 1 WI 6 W I
#> 4 Gene 1 WI-6.R2 2.2042219 2 WI 6 W I
#> 5 Gene 2 WI-6.R2 0.5854472 2 WI 6 W I
#> 6 Gene 3 WI-6.R2 0.8701078 2 WI 6 W I